package com.probox.common.entity.domain.platfom;

import java.util.Date;
import java.io.Serializable;
import java.util.HashMap;

import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.probox.common.core.text.Convert;
import com.probox.common.entity.utils.DictUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.probox.common.core.annotation.Excel;

/**
 * 消息模板对象 platform_message_template
 *
 * @author usoft
 * @date 2021-07-21
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("platform_message_template")
@ApiModel(description = "消息模板")
public class PlatformMessageTemplate implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 模板ID
     */
    //默认主键自增
    @TableId(value = "TEMPLATE_UID", type = IdType.AUTO)
    private Long templateUid;

    /**
     * 店铺ID
     */
    @Excel(name = "店铺ID")
    @ApiModelProperty(value = "店铺ID")
    private Long platformUid;

    /**
     * 模板类型(数据字典表示)
     */
    @Excel(name = "模板类型(数据字典表示)")
    @ApiModelProperty(value = "模板类型(数据字典表示)")
    private String templateType;

    public String getTemplateTypeStr(){

        if (ObjectUtil.isEmpty(templateType)) {
            return "";
        }
        HashMap templateTypeMap = DictUtils.getDictCacheMap("template_type");
        return Convert.toStr(templateTypeMap.get(templateType));

    }

    @TableField(exist = false)
    public String storeName;


    /**
     * 模板编号
     */
    @Excel(name = "模板编号")
    @ApiModelProperty(value = "模板编号")
    private String templateNo;

    /**
     * 模板标题
     */
    @Excel(name = "模板标题")
    @ApiModelProperty(value = "模板标题")
    private String templateTitle;

    /**
     * 数据状态 1有效/0无效
     */
    @Excel(name = "数据状态 1有效/0无效")
    @ApiModelProperty(value = "数据状态 1有效/0无效")
    private String dataStatus;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    @ApiModelProperty(value = "创建人")
    private Long createUser;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    @ApiModelProperty(value = "修改人")
    private Long updateUser;


}
